package com.ray.common.utils;

import com.ray.web.entity.TreeNode;

import java.util.ArrayList;
import java.util.List;

public class TreeNodeBuilder {

    /**
     * 把没有层级关系的集合变成有层级关系的
     * @param treeNodes
     * @param topId 根节点
     * @return
     */
    public static List<TreeNode> build(List<TreeNode> treeNodes, Integer topId){
        List<TreeNode> nodes = new ArrayList<>();
        for (TreeNode n1 : treeNodes) {
            //第一层 topId默认为1
            if(n1.getParentId() == topId ){
                nodes.add(n1);
            }
            for (TreeNode n2 : treeNodes) {
                //第一层的子节点
                if(n1.getId() == n2.getParentId()){
                    n1.getChildren().add(n2);
                }
            }
        }
        return nodes;
    }



}
